  function touchHandler(a,b,c) {
      touch.on(a, "dragstart", function (e) {
          if (!e) {
              e = window.event
          }
          e.stopPropagation();
          e.cancelBubble = true;
          var startX = e.position.x;
          var startLeft = b.position().left;
          var changeX = startX - startLeft;
          touch.on(a, "drag", function (ev) {
              if (!ev) {
                  ev = window.event
              }
              ev.stopPropagation();
              ev.cancelBubble = true;
              var nowX = ev.position.x;
              var changeNow = nowX - changeX;
              if (changeNow >= 0) {
                  changeNow = 0
              } else if (changeNow <= -(b.width() - a.width())) {
                  changeNow = -(b.width() - a.width())
              }
              b.css("left", changeNow);
          })
      });
      touch.on(a, "dragend", function (e) {
          if (!e) {
              e = window.event
          }
          e.stopPropagation();
          e.cancelBubble = true;
          var nowLeft = b.position().left;
          if (e.direction == "left") {
              var change = Math.floor(nowLeft / c.width());
          } else if (e.direction == "right") {
              var change = Math.ceil(nowLeft / c.width());
          }
          b.animate({
              left: change * c.width()
          }, 500)
      })
  }
